package object_string_0920;

/**
 * 2.字符串对象比较
 * 1.通过==比较（比较的是两个字符串的地址，不看内容）
 * 2.通过equals方法来比较两个字符串对象的内容是否相等（大小写敏感，返回boolean）
 * 3.通过equalsIgnoreCase比较两个字符串对象的内容是否相等（大小写不敏感,返回boolean）
 * 4.通过compareTo方法来比较两个字符串对象的大小关系
 */
public class StringCompare {
    public static void main(String[] args) {
        String str1=new String("hello");
        String str2=new String("hello");
        String str3=new String("Hello");
        String str4=str1;
        String str5="hello123";
        //str5长度>str1长度，共同最小长度差为5，返回长度差值
        //false
        System.out.println(str1==str2);
        //true
        System.out.println(str1==str4);
        //ture 通过equals方法来比较两个字符对象的内容是否相等（大小写敏感）
        System.out.println(str1.equals(str2));
        //false
        System.out.println(str1.equals(str3));
        //true 通过equalsIgnoreCase方法来比较两个字符对象的内容是否相等（大小写不敏感）
        System.out.println(str1.equalsIgnoreCase(str3));
        //32
        //首先按照两个字符字典序比较大小，如出现两个大小不一样的字符，返回字符差值
        System.out.println(str1.compareTo(str3));
        //如果前k个字符相等（k是两个字符串长度最小值），返回长度差
        System.out.println(str1.compareTo(str5));
    }
}
